package com.example.springboottest.runner;

import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * ApplicationRunner和CommandLineRunner 是通过SpringApplication类的callRunners方法完成的
 * 它们的目的是帮助在开发过程中，通过它们来实现在容器启动时执行一些操作，通过@order控制顺序
 * <p>
 * 方法执行完成后，会通过CustomSpringApplicationRunListener的running通知执行完成，此时容器处于运行状态
 */
@Component
@Order(value = 2)
public class CustApplicationRunner implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("CustApplicationRunner.run()...");
    }
}
